home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / obrn-a_1.5_src.lha / oberon-a / source3.lha / Source / OL / OLPrefsStrings.mod < prev    next >
Encoding:
Text File  |  1995-01-26  |  3.7 KB  |  118 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE OLPrefsStrings;
  4. (****************************************************************
  5.    This file was created automatically by `FlexCat 1.5'
  6.    Do NOT edit by hand!
  7.    Oberon-A source description C 1994 by Albert Weinert
  8.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  9.    Modified for Oberon-A 1.5 by Frank Copeland
  10.  
  11.    Application: OLPrefsStrings
  12.    Language   : "english"
  13.    Version    : 1
  14.    Description: OLPrefsStrings.cd
  15.  
  16.     $RCSfile: OLPrefsStrings.mod $
  17.    $Revision: 1.3 $
  18.      $Author: fjc $
  19.        $Date: 1995/01/26 02:07:58 $
  20.  
  21. ****************************************************************)
  22.  
  23. IMPORT
  24.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  25.  
  26. CONST
  27.   builtinlanguage = "english";
  28.   version = 1;
  29.  
  30. CONST
  31.   msg1* = 0;
  32.   msg2* = 1;
  33.   msg3* = 2;
  34.   msg4* = 3;
  35.   msg5* = 4;
  36.   msg6* = 5;
  37.   msg7* = 6;
  38.   msg8* = 7;
  39.   msg9* = 8;
  40.   msg10* = 9;
  41.   msg11* = 10;
  42.   msg12* = 11;
  43.  
  44. TYPE
  45.   AppString = RECORD;
  46.      id  : LONGINT;
  47.      str : e.LSTRPTR;
  48.   END;
  49.   AppStringArray = ARRAY 12 OF AppString;
  50.  
  51. VAR
  52.   AppStrings : AppStringArray;
  53.   catalog : lo.CatalogPtr;
  54.  
  55.   PROCEDURE SetStrings;
  56.     BEGIN
  57.       AppStrings[0].id := msg1; AppStrings[0].str := y.ADR( " !! Arguments ALINK, BLINK and DLINK are mutually exclusive\n" );
  58.       AppStrings[1].id := msg2; AppStrings[1].str := y.ADR( " !! Arguments VERBOSE and QUIET are mutually exclusive\n" );
  59.       AppStrings[2].id := msg3; AppStrings[2].str := y.ADR( " !! Arguments MAKEICONS and NOICONS are mutually exclusive\n" );
  60.       AppStrings[3].id := msg4; AppStrings[3].str := y.ADR( " !! Arguments SCAN and NOSCAN are mutually exclusive\n" );
  61.       AppStrings[4].id := msg5; AppStrings[4].str := y.ADR( " !! Arguments LINK and NOLINK are mutually exclusive\n" );
  62.       AppStrings[5].id := msg6; AppStrings[5].str := y.ADR( "Preferences file: " );
  63.       AppStrings[6].id := msg7; AppStrings[6].str := y.ADR( "See OLPrefs.doc for conditions of use\n" );
  64.       AppStrings[7].id := msg8; AppStrings[7].str := y.ADR( " !! Settings saved to '%s'\n" );
  65.       AppStrings[8].id := msg9; AppStrings[8].str := y.ADR( " !! Could not create '%s'\n" );
  66.       AppStrings[9].id := msg10; AppStrings[9].str := y.ADR( " !! Could not create icon for '%s'\n" );
  67.       AppStrings[10].id := msg11; AppStrings[10].str := y.ADR( " !! Could not obtain icon\n" );
  68.       AppStrings[11].id := msg12; AppStrings[11].str := y.ADR( " !! Too many arguments: select only one prefs file\n" );
  69.     END SetStrings;
  70.  
  71.   PROCEDURE CloseCatalog*();
  72.     BEGIN
  73.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  74.    END CloseCatalog;
  75.  
  76.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  77.     VAR Tag : ARRAY 4 OF u.TagItem;
  78.     BEGIN
  79.       CloseCatalog();
  80.       IF (catalog = NIL) & (lo.base # NIL) THEN
  81.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  82.         Tag[1].tag := u.skip;             Tag[1].data := y.ADR( language );
  83.         Tag[2].tag := lo.version;         Tag[2].data := version;
  84.         Tag[3].tag := u.done;
  85.  
  86.         IF language # "" THEN
  87.           Tag[1].tag:= lo.language;
  88.         END;
  89.         catalog := lo.OpenCatalogA (loc, "OLPrefsStrings.catalog", Tag);
  90.       END;
  91.     END OpenCatalog;
  92.  
  93.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  94.     VAR
  95.       i: LONGINT;
  96.       default: e.LSTRPTR;
  97.     BEGIN
  98.       i := 0; WHILE (i < 12) & (AppStrings[i].id # num) DO INC (i) END;
  99.  
  100.       IF i # 12 THEN
  101.         default := AppStrings[i].str;
  102.       ELSE
  103.         default := NIL;
  104.       END;
  105.  
  106.       IF catalog # NIL THEN
  107.         RETURN lo.GetCatalogStr (catalog, num, default^);
  108.       ELSE
  109.         RETURN default;
  110.       END;
  111.     END GetString;
  112.  
  113. BEGIN
  114.   catalog := NIL;
  115.   SetStrings;
  116. END OLPrefsStrings.
  117.  
  118.